From: Jasper St. Pierre Date: Thu, 22 Aug 2013 20:14:14 +0000 (-0400) Subject: endSessionDialog: Don't error out if gnome-session hands us a dead inhibitor X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~3641 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=c44caa5c96befde25f09db11cd3c4625e4725cd7;p=gnome-shell.git endSessionDialog: Don't error out if gnome-session hands us a dead inhibitor Sometimes gnome-session hands us a bad object path for JIT inhibitors it creates for XSMP clients. While this is a bug in gnome-session, we shouldn't show an empty-looking dialog here. https://bugzilla.gnome.org/show_bug.cgi?id=706612 --- diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js index 48ff151bf..99525933b 100644 --- a/js/ui/endSessionDialog.js +++ b/js/ui/endSessionDialog.js @@ -118,7 +118,15 @@ const DialogContent = { }; function findAppFromInhibitor(inhibitor) { - let [desktopFile] = inhibitor.GetAppIdSync(); + let desktopFile; + try { + [desktopFile] = inhibitor.GetAppIdSync(); + } catch(e) { + // XXX -- sometimes JIT inhibitors generated by gnome-session + // get removed too soon. Don't fail in this case. + log('gnome-session gave us a dead inhibitor: %s'.format(inhibitor.get_object_path()); + return null; + } if (!GLib.str_has_suffix(desktopFile, '.desktop')) desktopFile += '.desktop';